/*******************************************************************************
* Copyright (c) 2013, 2017 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
******************************************************************************/
package org.eclipse.ui.tests.commands;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.core.commands.Command;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.core.commands.NotEnabledException;
import org.eclipse.core.commands.NotHandledException;
import org.eclipse.core.commands.ParameterizedCommand;
import org.eclipse.core.commands.common.NotDefinedException;
import org.eclipse.core.expressions.IEvaluationContext;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchCommandConstants;
import org.eclipse.ui.commands.ICommandService;
import org.eclipse.ui.handlers.IHandlerService;
import org.eclipse.ui.tests.harness.util.UITestCase;
import org.junit.Test;
/**
* @since 3.5
*
*/
public class Bug417762Test extends UITestCase {
/**
* @param testName
*/
public Bug417762Test(String testName) {
super(testName);
}
@Test
public void testAsReported() throws ExecutionException,
NotDefinedException, NotEnabledException, NotHandledException {
IWorkbench workbench = getWorkbench();
ICommandService commandService = workbench
.getService(ICommandService.class);
IHandlerService handlerService = workbench
.getService(IHandlerService.class);
Command showInCommand = commandService
.getCommand(IWorkbenchCommandConstants.NAVIGATE_SHOW_IN);
Map<String, String> parameters = new HashMap<>();
parameters.put(IWorkbenchCommandConstants.NAVIGATE_SHOW_IN_PARM_TARGET,
"my.view.id");
IEvaluationContext contextSnapshot = handlerService
.createContextSnapshot(true);
ExecutionEvent event = new ExecutionEvent(showInCommand, parameters,
null, contextSnapshot);
showInCommand.executeWithChecks(event);
}
@Test
public void testSuggestionUseExecuteCommand() throws ExecutionException,
NotDefinedException, NotEnabledException, NotHandledException {
IWorkbench workbench = getWorkbench();
ICommandService commandService = workbench
.getService(ICommandService.class);
IHandlerService handlerService = workbench
.getService(IHandlerService.class);
Command showInCommand = commandService
.getCommand(IWorkbenchCommandConstants.NAVIGATE_SHOW_IN);
// Map<String, String> parameters = new HashMap<String, String>();
// parameters.put(IWorkbenchCommandConstants.NAVIGATE_SHOW_IN_PARM_TARGET,
// "my.view.id");
// IEvaluationContext contextSnapshot = handlerService
// .createContextSnapshot(true);
// ExecutionEvent event = new ExecutionEvent(showInCommand, parameters,
// null, contextSnapshot);
// showInCommand.executeWithChecks(event);
handlerService
.executeCommand(
ParameterizedCommand.generateCommand(
showInCommand,
Collections
.singletonMap(
IWorkbenchCommandConstants.NAVIGATE_SHOW_IN_PARM_TARGET,
"my.view.id")), null);
}
@Test
public void testSuggestionUseExecuteCommandInContext() throws ExecutionException,
NotDefinedException, NotEnabledException, NotHandledException {
IWorkbench workbench = getWorkbench();
ICommandService commandService = workbench
.getService(ICommandService.class);
IHandlerService handlerService = workbench
.getService(IHandlerService.class);
Command showInCommand = commandService
.getCommand(IWorkbenchCommandConstants.NAVIGATE_SHOW_IN);
// Map<String, String> parameters = new HashMap<String, String>();
// parameters.put(IWorkbenchCommandConstants.NAVIGATE_SHOW_IN_PARM_TARGET,
// "my.view.id");
IEvaluationContext contextSnapshot = handlerService
.createContextSnapshot(true);
// ExecutionEvent event = new ExecutionEvent(showInCommand, parameters,
// null, contextSnapshot);
// showInCommand.executeWithChecks(event);
handlerService
.executeCommandInContext(
ParameterizedCommand.generateCommand(
showInCommand,
Collections
.singletonMap(
IWorkbenchCommandConstants.NAVIGATE_SHOW_IN_PARM_TARGET,
"my.view.id")), null, contextSnapshot);
}
@Test
public void testSuggestionUseParameterizedCommandExecuteWithChecks() throws ExecutionException,
NotDefinedException, NotEnabledException, NotHandledException {
IWorkbench workbench = getWorkbench();
ICommandService commandService = workbench
.getService(ICommandService.class);
IHandlerService handlerService = workbench
.getService(IHandlerService.class);
Command showInCommand = commandService
.getCommand(IWorkbenchCommandConstants.NAVIGATE_SHOW_IN);
// Map<String, String> parameters = new HashMap<String, String>();
// parameters.put(IWorkbenchCommandConstants.NAVIGATE_SHOW_IN_PARM_TARGET,
// "my.view.id");
IEvaluationContext contextSnapshot = handlerService
.createContextSnapshot(true);
// ExecutionEvent event = new ExecutionEvent(showInCommand, parameters,
// null, contextSnapshot);
// showInCommand.executeWithChecks(event);
final ParameterizedCommand pc = ParameterizedCommand.generateCommand(
showInCommand,
Collections
.singletonMap(
IWorkbenchCommandConstants.NAVIGATE_SHOW_IN_PARM_TARGET,
"my.view.id"));
pc.executeWithChecks(null, contextSnapshot);
// handlerService
// .executeCommandInContext(
// pc, null, contextSnapshot);
}
}